14 research outputs found

    Predictive Software Measures based on Z Specifications - A Case Study

    Full text link
    Estimating the effort and quality of a system is a critical step at the beginning of every software project. It is necessary to have reliable ways of calculating these measures, and, it is even better when the calculation can be done as early as possible in the development life-cycle. Having this in mind, metrics for formal specifications are examined with a view to correlations to complexity and quality-based code measures. A case study, based on a Z specification and its implementation in ADA, analyzes the practicability of these metrics as predictors.Comment: In Proceedings WS-FMDS 2012, arXiv:1207.184

    Verifying temporal specifications of Java programs

    Get PDF
    Many Java programs encode temporal behaviors in their source code, typically mixing three features provided by the Java language: (1) pausing the execution for a limited amount of time, (2) waiting for an event that has to occur before a deadline expires, and (3) comparing timestamps. In this work, we show how to exploit modern SMT solvers together with static analysis in order to produce a network of timed automata approximating the temporal behavior of a set of Java threads. We also prove that the presented abstraction preserves the truth of MTL and ATCTL formulae, two well-known logics for expressing timed specifications. As far as we know, this is the first feasible approach enabling the user to automatically model check timed specifications of Java software directly from the source code

    Підхід з використанням нечіткої логіки до автоматизованої ідентифікації дефектів в розподілених програмних системах та лінійках програмних продуктів

    Get PDF
    An approach to the improvement of the efficiency of the bug tracking process in distributed software systems and software product lines via automated identification of duplicate report groups and report groups collected from correlated bugs, combined with bug localization within a software product line is considered. A brief overview of the problem of automated report collection and aggregation is made, several existing software tools and solutions for report management and analysis are reviewed, and basic functionality of a typical report management system is identified. In addition to this, a concept of a report correlation group is introduced and an automated crash report aggregation method based on the rules for comparison of crash signatures, top frames, and frequent closed ordered sub-sets of frames of crash reports is proposed. To evaluate these rules, two separate fuzzy models are built, the first one to calculate the output of the Frequent Closed Ordered Sub-Set Comparison rule, and the second one to interpret and combine the output of all three rules and produce an integrated degree of crash report’s similarity to an existing report correlation group or to another report. A prototype of a report management system with report aggregation capabilities is developed and tested using imported from the publicly available Mozilla Crash Stats project report groups. During the experiment, a precision of 90% and a recall of 81% are achieved. Lastly, an approach to localize the largest identified report groups and represented by them bugs within a concrete software product line based on an information basis consisting of a feature model, a list of software components, and a mapping between features and components is proposed, conclusions are drawn, and goals for the future work are outlined.Розглянуто підхід до підвищення ефективності процесу відстеження помилок в розподілених програмних системах та лінійках програмних продуктів шляхом автоматизованої ідентифікації дубльованих груп звітів та груп звітів, зібраних з корельованих помилок, у поєднанні з локалізацією помилок серед компонентів лінійок програмних продуктів. Зроблено короткий огляд проблеми автоматизованого збору та агрегації звітів, розглянуто кілька існуючих програмних засобів для аналізу звітів, а також визначено основні функціональні можливості типової системи управління звітами. Крім того, запропоновано концепцію кореляційної групи звітів та наведено автоматизований метод агрегації звітів, який базується на правилах порівняння підписів звітів, верхньої форми звітів, та трасувальних стеків звітів про збої. Для оцінки цих правил будуються дві окремі нечіткі моделі – перша для розрахунку результату правила порівняння трасувальних стеків звітів, а друга - для інтерпретації та поєднання результатів усіх трьох правил і створення інтегрованого ступеня подібності звіту про збій з існуючою кореляційною групою звітів або іншим звітом. За допомогою імпорту груп звітів з загальнодоступного репозиторію Mozilla, тестується розроблений прототип системи управління та агрегації звітів. Під час експерименту досягається точність в 90% і повнота в 81%. Нарешті, пропонується підхід до локалізації найбільших ідентифікованих груп звітів та представлених ними помилок у лінійці програмних продуктів на основі інформаційної бази, що складається з функціональної моделі, списку програмних компонентів та взаємозв’язків між функціями та компонентами, робляться висновки та визначаються цілі для подальшої роботи

    Modeling time in Java programs for automatic error detection

    Get PDF
    Modern programming languages, such as Java, represent time as integer variables, called timestamps. Timestamps allow developers to tacitly model incorrect time values resulting in a program failure because any negative value or every positive value is not necessarily a valid time representation. Current approaches to automatically detect errors in programs, such as Randoop and FindBugs, cannot detect such errors because they treat timestamps as normal integer variables and test them with random values verifying if the program throws an exception. In this paper, we present an approach that considers the time semantics of the Java language to systematically detect time related errors in Java programs. With the formal time semantics, our approach determines which integer variables handle time and which statements use or alter their values. Based on this information, it translates these statements into an SMT model that is passed to an SMT solver. The solver formally verifies the correctness of the model and reports the violations of time properties in that program. For the evaluation, we have implemented our approach in a prototype tool and applied it to the source code of 20 Java open source projects. The results show that our approach is scalable and it is capable of detecting time errors precisely enough allowing its usability in real-world applications

    DigiFit4All – Kompetenzen als Basis für Digitalisierung in der Lehre

    Get PDF
    Digitale Technologien ermöglichen neue Lehr- und Lernformate in hybrider oder rein virtueller Form. Das Projekt „DigiFit4All“ zielt darauf ab, personalisierte, offene Onlinekurse in Informatik und digitaler Bildung auf Basis von Kompetenzmodellen und Testungen der Lernenden zu erstellen. Eine Herausforderung ist dabei der breite Umfang des Projekts, da zumindest folgende vier Zielgruppen berücksichtigt werden: Schüler:innen, Studierende, Lehrende und Verwaltungspersonal. Für jede Zielgruppe wird dazu ein spezifisches Kompetenzmodell ausgewählt, das die Grundlage für die Entwicklung von digitalen Lernmaterialien bildet. In diesem Beitrag werden die Zielgruppen, der Prozess der Inhaltsauswahl sowie die einzelnen Modelle beschrieben

    Specification comprehension reducing the complexity of specifications

    No full text
    The objective of this work is to support the process of specification comprehension. The majority of comprehension problems goes back to the complexity of size, and the basic idea is to reduce the complexity of specifications by focusing on those parts which are necessary to solve a specific problem at hand. It is suggested to generate well-defined partial specifications such as specification slices and chunks. A prototype for Z-specifications has been implemented and used to asses the approach. The evaluation shows that, especially with larger specifications, the generation of partial specifications is efficient and effective. This work suggests to visualize dependencies that are hidden in the specification. Similar to program comprehension approaches the calculation of specification slices and chunks also depends on the identification of control-, data- and syntactic dependencies. As programming-language-like notions of dependencies are not applicable for specification languages this work introduces the notions of control-, data- and syntactic dependencies in specifications. Here, the basic idea is to look at dependencies between pre- and post-condition parts of the specification at hand. For the identification of dependencies it is suggested to transform the specification to a graph structure. The transformation depends on the specification language at hand and this work provides transformation rules for Z. However, the approach is applicable to several specification languages as the graph and the rules for the identification of dependencies are defined in a language-independent manner.Ziel der Arbeit ist, den VerstÃndnisprozess(fA~rWartungsfragen)beiSpezifikationendurchVerringerungderKomplexitA~ndnisprozess (fÃr Wartungsfragen) bei Spezifikationen durch Verringerung der KomplexitÃt mittels Fokussieren auf relevante Teile zu unterstÃtzen. Im Fachgebiet des Programm-Verstehens gibt es bekannte Konzepte um den Umfang zu reduzieren und sicherzustellen, dass wichtige Informationen nicht verloren gehen: es sind dies die Konzepte der Erzeugung von Slices und Chunks. Diese Arbeit greift diese Konzepte der PartialitÃtaufunddefiniertSlicesundChunksfA~rSpezifikationen.EineinfacherPrototypfA~rZSpezifikationenwurdeentwickelt.DiemitdiesemPrototypdurchgefA~hrteEvaluationdesAnsatzeszeigt,dassdasKonzeptderpartiellenSpezifikationsehreffektivist.VorallembeigrA~A~erenSpezifikationenkommteszueinerstarkenReduktiondesUmfangsderpartiellenSpezifikationen.DieErzeugungvonpartiellenSpezifikationenunddasSichtbarmachenversteckterAbhA~t auf und definiert Slices und Chunks fÃr Spezifikationen. Ein einfacher Prototyp fÃr Z-Spezifikationen wurde entwickelt. Die mit diesem Prototyp durchgefÃhrte Evaluation des Ansatzes zeigt, dass das Konzept der partiellen Spezifikation sehr effektiv ist. Vor allem bei grÃÃeren Spezifikationen kommt es zu einer starken Reduktion des Umfangs der partiellen Spezifikationen. Die Erzeugung von partiellen Spezifikationen und das Sichtbarmachen versteckter AbhÃngigkeiten setzen die Identifizierung von Kontroll-, Daten- und SyntaxabhÃngigkeitenvoraus.AufgrundderdeklarativenNaturvielerSpezifikationssprachensindesvorallemKontrollabhA~ngigkeiten voraus. Aufgrund der deklarativen Natur vieler Spezifikationssprachen sind es vor allem KontrollabhÃngigkeiten die nicht so einfach wie bei imperativen Programmiersprachen zu identifizieren sind. Diese Arbeit definiert AbhÃngigkeiteninSpezifikationen,wobeiesbeiKontrollabhA~ngigkeiten in Spezifikationen, wobei es bei KontrollabhÃngigkeiten auf die Identifizierung von AbhÃngigkeitenzwischenVorundNachbedingungenzurA~ckgreift.ZureffizientenIdentifizierungderAbhA~ngigkeiten zwischen Vor- und Nachbedingungen zurÃckgreift. Zur effizienten Identifizierung der AbhÃngigkeiten wird eine Transformation in einen Graphen vorgeschlagen. Die Erzeugung des Graphen hÃngtvondergewA~ngt von der gewÃhlten Spezifikationssprache ab. Der Graph und die Regeln zur Identifizierung von AbhÃ$ngigkeiten sind jedoch so allgemein gehalten, sodass der Ansatz auf unterschiedliche Spezifikationssprachen anwendbar ist. Zur Veranschaulichung werden Regeln zum Transformieren von Z-Spezifikationen angegeben.Andreas BollinZsfassung in dt. SpracheKlagenfurt, Univ., Diss., 2004KB2004 26OeBB(VLID)241626

    Kooperatives Promotionskolleg der Hochschule Offenburg mit der Universität Freiburg

    Get PDF
    Zum ersten Mal gibt es mit dem kooperativen Promotionskolleg über „Kleinskalige erneuerbare Energiesysteme – KleE“ für hochqualifizierte Absolventen der Hochschule Offenburg die Möglichkeit zur Promotion innerhalb des engen wissenschaftlichen Austauschs eines Doktorandenkollegs. Betreut werden sie gemeinsam von je einem Universitätsprofessor und einem Hochschulprofessor. In Zusammenarbeit mit der Albert-Ludwigs-Universität Freiburg, dem Zentrum für Erneuerbare Energien (ZEE), und den Fraunhofer-Instituten für Solare Energiesysteme (ISE) sowie für Physikalische Messtechnik (IPM) forschen 15 Doktorandinnen und Doktoranden im Promotionskolleg KleE an interdisziplinären Forschungsthemen

    A Semi-automated Approach to Categorise Learning Outcomes into Digital Literacy or Computer Science

    No full text
    Part 2: Programming and Computer Science EducationInternational audienceComputer science related curricula, standards and frameworks are designed and implemented in many countries to incorporate informatics education in schools, already starting with kindergarten and primary education. A recurring point of discussion addresses the focus of those educational models concerning the different fields of computer science - the topics related to the scientific subject of computer science, or digital literacy (the set of skills and competencies needed in everyday life in the digital age). In this paper, we present a semi-automated approach to categorise learning outcomes of computer science related curricula into one of those two categories. Categorisation is performed with linguistic metrics computed for nouns and verbs of representative curricula of each category. The categorisation is compared against classifications of nine experts of computer science teaching and research. The results show a matching categorisation for 70% of all learning outcomes and 90% of learning outcomes uniformly classified by the experts

    Digital gestütztes Lehren mittels innovativem MOOC-Konzept

    Get PDF
    Die Autoren beleuchten hochschulische Bildungsmöglichkeiten mit Massive Open Online Cours (MOOC) von der Erstellung bis zur Durchführung derartiger Kurse. Dabei scheinen die beliebige Wiederholbarkeit von Vorlesungen und die dauernde Abrufbarkeit von Lektionen wesentlich zum Erfolg des Formats beizutragen. (DIPF/Orig.
    corecore